import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Ave here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Ave extends Enemigo
{
    private boolean mov;
    private boolean lado;
    private GreenfootImage[] arrIma=new GreenfootImage[7];

    /**
     * Act - do whatever the Ave wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    /**
     * Actua
     */
    public void act() 
    {
        // Add your action code here.
        mueve();
        checaBorde();
    }    
    /**
     * Constructor
     */
    public Ave()
    {
        
        mov=false;
        lado=false;
        arrIma[0] = new GreenfootImage("aver.gif");
        arrIma[1] = new GreenfootImage("aver1.gif");
        arrIma[2] = new GreenfootImage("aver2.gif");
        arrIma[3] = new GreenfootImage("averder.gif");
        arrIma[4] = new GreenfootImage("averder1.gif");
        arrIma[5] = new GreenfootImage("averder2.gif");
      
    }
    /**
     * Hace el movimiento de la ave simulando que vuela
     */
    public void mueve()
    {   MoveWorld mundo=(MoveWorld)this.getWorld();
        if(Greenfoot.getRandomNumber(250)==1)
        {
           mundo.addObject(new Roca(),getX(),getY());
        }
        if(lado)//izq
        { setImage(arrIma[Greenfoot.getRandomNumber(3)]);
            
            if(mov==true)
            {
                setLocation(getX()-1,getY()+1);
                if(getY()>60)
                mov=false;
            }
            else
            {
                setLocation(getX()-1,getY()-1);
                if(getY()<10)
                mov=true;
            }
        }
        else//derecha
        { 
             setImage(arrIma[3+Greenfoot.getRandomNumber(2)]);
             if(mov==true)
            {
                setLocation(getX()+1,getY()+1);
                if(getY()>60)
                mov=false;
            }
            else
            {
                setLocation(getX()+1,getY()-1);
                if(getY()<10)
                mov=true;
            }
            
        }
        GreenfootImage imagen=this.getImage();
        imagen.scale(100,70);
    }
    /**
     * Al llegar al extremo superior derecho elimina a la aves del mundo
     */
    public void checaBorde()
    {
        MoveWorld mundo=(MoveWorld)this.getWorld();
        Jugador jugadorAux=mundo.getJugador();
        if(getX()>=mundo.getWidth()-30)
        {
            mundo.removeObjects(mundo.getObjects(Ave.class));
        }
    }
    /**
     * Cambia la direccion del ave sea izquierda o derecha
     */
    public void setLado(boolean unLado)
    {
       lado=unLado;
    }
     
}

